﻿#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>

typedef int data;
typedef struct Tree
{
	int arr;    //数值
	struct Tree* zuo;//左孩子
	struct Tree* you;//右孩子
}BT;

//前序遍历
void qian(BT* root);

//中序遍历
void zho(BT* root);

//后序遍历
void ho(BT* root);

// ⼆叉树结点个数 
int BinaryTreeSize(BT* root);

// ⼆叉树叶⼦结点个数 
int BinaryTreeLeafSize(BT* root);

// ⼆叉树第k层结点个数 
int BinaryTreeLevelKSize(BT* root, int k);

//⼆叉树的深度/⾼度
int BinaryTreeDepth(BT* root);

// ⼆叉树查找值为x的结点 
BT* BinaryTreeFind(BT* root, data x);

// ⼆叉树销毁
void BinaryTreeDestory(BT** root);
